/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/*
 * Menu.java
 *
 * Created on 07/03/2011, 20:20:53
 */

package sisgraf.view;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.InputMismatchException;
import sisgraf.model.Perfil;
import sisgraf.model.Usuario;

/**
 *
 * @author jordan
 */
public class Menu extends javax.swing.JFrame {

    /** Creates new form Menu */
    public Menu() {
        initComponents();
        jMnCadastroBasico.setMnemonic('C');
        jMnOrcamentos.setMnemonic('O');
        jMnPedidos.setMnemonic('P');
        jMnRelatorios.setMnemonic('R');
        jMnControleAcesso.setMnemonic('A');
        setLocationRelativeTo(null);
        this.setVisible(true);
        Login login = new Login(new javax.swing.JFrame(), true);
        jMnCadastroBasico.setVisible(estadoPerfil.getPermissao("cbs", "M"));
        jMnRelatorios.setVisible(estadoPerfil.getPermissao("rel", "M"));
        jMnControleAcesso.setVisible(estadoPerfil.getPermissao("cta", "M"));



        jMnItVendedores.setVisible(estadoPerfil.getPermissao("vnd", "P"));
        jMnItMateriais.setVisible(estadoPerfil.getPermissao("mtr", "P"));
        jMnItCores.setVisible(estadoPerfil.getPermissao("mtr", "P"));
        jMnItUnidades.setVisible(estadoPerfil.getPermissao("mtr", "P"));
        jMnItClientes.setVisible(estadoPerfil.getPermissao("clt", "P"));
        jMnOrcamentos.setVisible(estadoPerfil.getPermissao("orc", "P"));
        jMnPedidos.setVisible(estadoPerfil.getPermissao("ped", "P"));
        jMnItUsuarios.setVisible(estadoPerfil.getPermissao("usr", "P"));
        jMnItPerfis.setVisible(estadoPerfil.getPermissao("per", "P"));
        jMnItFaturamentoPeriodo.setVisible(estadoPerfil.getPermissao("rel", "FA"));
        jMnItExtratoComissao.setVisible(estadoPerfil.getPermissao("rel", "EX"));
        jMnItRanking.setVisible(estadoPerfil.getPermissao("rel", "RA"));
        jMnItPedidosPendentes.setVisible(estadoPerfil.getPermissao("rel", "PE"));
        jMnItFichaCliente.setVisible(estadoPerfil.getPermissao("rel", "CL"));
        jMnItFuncoes.setVisible(estadoPerfil.getPermissao("sis", "P"));
        jMnItModulos.setVisible(estadoPerfil.getPermissao("sis", "P"));
/*
            ckBxPesquisaItesOrcamentos.setSelected(perfil.getPermissao("ird", "P"));
            ckBxInclusaoItesOrcamentos.setSelected(perfil.getPermissao("ird", "I"));
            ckBxAlteracaoItesOrcamentos.setSelected(perfil.getPermissao("ird", "A"));
            ckBxExclusaoItesOrcamentos.setSelected(perfil.getPermissao("ird", "E"));
            ckBxAprovarItesOrcamentos.setSelected(perfil.getPermissao("ird", "AP"));
            ckBxCancelarItesOrcamentos.setSelected(perfil.getPermissao("ird", "CA"));

            ckBxInclusaoPerfis.setSelected(perfil.getPermissao("per", "I"));
            ckBxAlteracaoPerfis.setSelected(perfil.getPermissao("per", "A"));

*
 */


    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jMenuBar1 = new javax.swing.JMenuBar();
        jMnCadastroBasico = new javax.swing.JMenu();
        jMnItVendedores = new javax.swing.JMenuItem();
        jMnItMateriais = new javax.swing.JMenuItem();
        jMnItClientes = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        jMnItUnidades = new javax.swing.JMenuItem();
        jMnItCores = new javax.swing.JMenuItem();
        jMnOrcamentos = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMnPedidos = new javax.swing.JMenu();
        jMnItPedidos = new javax.swing.JMenuItem();
        jMnRelatorios = new javax.swing.JMenu();
        jMnItFaturamentoPeriodo = new javax.swing.JMenuItem();
        jMnItExtratoComissao = new javax.swing.JMenuItem();
        jMnItRanking = new javax.swing.JMenuItem();
        jMnItPedidosPendentes = new javax.swing.JMenuItem();
        jMnItFichaCliente = new javax.swing.JMenuItem();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMnControleAcesso = new javax.swing.JMenu();
        jMnItUsuarios = new javax.swing.JMenuItem();
        jMnItPerfis = new javax.swing.JMenuItem();
        jSeparator2 = new javax.swing.JPopupMenu.Separator();
        jMnItModulos = new javax.swing.JMenuItem();
        jMnItFuncoes = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("SISGRAF - Menu do Sistema");

        jMnCadastroBasico.setText("Cadastro Básico");
        jMnCadastroBasico.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnCadastroBasicoActionPerformed(evt);
            }
        });

        jMnItVendedores.setText("Vendedores");
        jMnItVendedores.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItVendedoresActionPerformed(evt);
            }
        });
        jMnCadastroBasico.add(jMnItVendedores);

        jMnItMateriais.setText("Materiais");
        jMnItMateriais.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItMateriaisActionPerformed(evt);
            }
        });
        jMnCadastroBasico.add(jMnItMateriais);

        jMnItClientes.setText("Clientes  ");
        jMnItClientes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItClientesActionPerformed(evt);
            }
        });
        jMnCadastroBasico.add(jMnItClientes);
        jMnCadastroBasico.add(jSeparator1);

        jMnItUnidades.setText("Unidades ");
        jMnItUnidades.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItUnidadesActionPerformed(evt);
            }
        });
        jMnCadastroBasico.add(jMnItUnidades);

        jMnItCores.setText("Cores");
        jMnItCores.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItCoresActionPerformed(evt);
            }
        });
        jMnCadastroBasico.add(jMnItCores);

        jMenuBar1.add(jMnCadastroBasico);

        jMnOrcamentos.setText("Orçamentos");

        jMenuItem1.setText("Pesquisa Orçamentos");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMnOrcamentos.add(jMenuItem1);

        jMenuBar1.add(jMnOrcamentos);

        jMnPedidos.setText("Pedidos");

        jMnItPedidos.setText("Pedidos");
        jMnItPedidos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItPedidosActionPerformed(evt);
            }
        });
        jMnPedidos.add(jMnItPedidos);

        jMenuBar1.add(jMnPedidos);

        jMnRelatorios.setText("Relatórios");

        jMnItFaturamentoPeriodo.setText("Faturamento da Gráfica por Período");
        jMnItFaturamentoPeriodo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItFaturamentoPeriodoActionPerformed(evt);
            }
        });
        jMnRelatorios.add(jMnItFaturamentoPeriodo);

        jMnItExtratoComissao.setText("Extrato de Comissão de Vendedor por Período");
        jMnItExtratoComissao.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItExtratoComissaoActionPerformed(evt);
            }
        });
        jMnRelatorios.add(jMnItExtratoComissao);

        jMnItRanking.setText("Ranking de Vendedores por Período");
        jMnItRanking.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItRankingActionPerformed(evt);
            }
        });
        jMnRelatorios.add(jMnItRanking);

        jMnItPedidosPendentes.setText("Pedidos Pendentes");
        jMnItPedidosPendentes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItPedidosPendentesActionPerformed(evt);
            }
        });
        jMnRelatorios.add(jMnItPedidosPendentes);

        jMnItFichaCliente.setText("Ficha de Clientes");
        jMnItFichaCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItFichaClienteActionPerformed(evt);
            }
        });
        jMnRelatorios.add(jMnItFichaCliente);

        jMenuBar1.add(jMnRelatorios);

        jMenu1.setText("Troca Senha");
        jMenu1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu1ActionPerformed(evt);
            }
        });

        jMenuItem2.setText("Troca Senha");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem2);

        jMenuBar1.add(jMenu1);

        jMnControleAcesso.setText("Controle de Acesso");

        jMnItUsuarios.setText("Usuários");
        jMnItUsuarios.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItUsuariosActionPerformed(evt);
            }
        });
        jMnControleAcesso.add(jMnItUsuarios);

        jMnItPerfis.setText("Perfis");
        jMnItPerfis.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItPerfisActionPerformed(evt);
            }
        });
        jMnControleAcesso.add(jMnItPerfis);
        jMnControleAcesso.add(jSeparator2);

        jMnItModulos.setText("Modulos");
        jMnItModulos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItModulosActionPerformed(evt);
            }
        });
        jMnControleAcesso.add(jMnItModulos);

        jMnItFuncoes.setText("Funções");
        jMnItFuncoes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMnItFuncoesActionPerformed(evt);
            }
        });
        jMnControleAcesso.add(jMnItFuncoes);

        jMenuBar1.add(jMnControleAcesso);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 462, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 260, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jMnItMateriaisActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItMateriaisActionPerformed
        // TODO add your handling code here:
        PesquisaMaterial pesquisaMaterial = new PesquisaMaterial(new javax.swing.JFrame(), true);
        pesquisaMaterial.setOpcao(1);

    }//GEN-LAST:event_jMnItMateriaisActionPerformed

    private void jMnItUnidadesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItUnidadesActionPerformed
        // TODO add your handling code here:
        Unidades unidades = new Unidades(new javax.swing.JFrame(), true);

    }//GEN-LAST:event_jMnItUnidadesActionPerformed

    private void jMnItCoresActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItCoresActionPerformed
        // TODO add your handling code here:
        Cores cores = new Cores(new javax.swing.JFrame(), true);

    }//GEN-LAST:event_jMnItCoresActionPerformed

    private void jMnItVendedoresActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItVendedoresActionPerformed
        // TODO add your handling code here:
        PesquisaVendedor pesquisaVendedor = new PesquisaVendedor(new javax.swing.JFrame(), true);
       pesquisaVendedor.setOpcao(1);

    }//GEN-LAST:event_jMnItVendedoresActionPerformed

    private void jMnCadastroBasicoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnCadastroBasicoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jMnCadastroBasicoActionPerformed

    private void jMnItClientesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItClientesActionPerformed
       PesquisaClientes pesquisaClientes = new PesquisaClientes(new javax.swing.JFrame(), true);
       pesquisaClientes.setOpcao(1);
    }//GEN-LAST:event_jMnItClientesActionPerformed

    private void jMnItModulosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItModulosActionPerformed
        // TODO add your handling code here:
        Modulos modulos = new Modulos(new javax.swing.JFrame(), true);
    }//GEN-LAST:event_jMnItModulosActionPerformed

    private void jMnItPerfisActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItPerfisActionPerformed
        // TODO add your handling code here:
        PesquisaPerfis pesquisaPerfis = new PesquisaPerfis(new javax.swing.JFrame(), true);
    }//GEN-LAST:event_jMnItPerfisActionPerformed

    private void jMnItFuncoesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItFuncoesActionPerformed
        // TODO add your handling code here:
        Funcoes funcoes = new Funcoes(new javax.swing.JFrame(), true);

    }//GEN-LAST:event_jMnItFuncoesActionPerformed

    private void jMnItUsuariosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItUsuariosActionPerformed
        // TODO add your handling code here:
        PesquisaUsuarios pesquisaUsuarios = new PesquisaUsuarios(new javax.swing.JFrame(), true);
       pesquisaUsuarios.setOpcao(1);

    }//GEN-LAST:event_jMnItUsuariosActionPerformed

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
        // TODO add your handling code here:
        PesquisaOrcamentos pesquisaOrcamentos = new PesquisaOrcamentos(new javax.swing.JFrame(), true);
    }//GEN-LAST:event_jMenuItem1ActionPerformed

    private void jMnItPedidosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItPedidosActionPerformed
        // TODO add your handling code here:
        PesquisaPedidos pesquisaPedidos = new PesquisaPedidos(new javax.swing.JFrame(), true);
        pesquisaPedidos.setOpcao(1);
    }//GEN-LAST:event_jMnItPedidosActionPerformed

    private void jMnItFaturamentoPeriodoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItFaturamentoPeriodoActionPerformed
        // TODO add your handling code here:
        FaturamentoPeriodo faturamentoPeriodo = new FaturamentoPeriodo(new javax.swing.JFrame(), true);

    }//GEN-LAST:event_jMnItFaturamentoPeriodoActionPerformed

    private void jMnItExtratoComissaoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItExtratoComissaoActionPerformed
        // TODO add your handling code here:
        ExtratoComissaoVendedorPeriodo extratoComissaoVendedorPeriodo = new ExtratoComissaoVendedorPeriodo(new javax.swing.JFrame(), true);
    }//GEN-LAST:event_jMnItExtratoComissaoActionPerformed

    private void jMnItRankingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItRankingActionPerformed
        // TODO add your handling code here:
        RankingVendedorPeriodo rankingVendedorPeriodo = new RankingVendedorPeriodo(new javax.swing.JFrame(), true);
    }//GEN-LAST:event_jMnItRankingActionPerformed

    private void jMnItPedidosPendentesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItPedidosPendentesActionPerformed
        // TODO add your handling code here:
        PedidosPendentes pedidosPendentes = new PedidosPendentes(new javax.swing.JFrame(), true);
    }//GEN-LAST:event_jMnItPedidosPendentesActionPerformed

    private void jMnItFichaClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMnItFichaClienteActionPerformed
        // TODO add your handling code here:
        FichaCliente fichaCliente = new FichaCliente(new javax.swing.JFrame(), true);

    }//GEN-LAST:event_jMnItFichaClienteActionPerformed

    private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu1ActionPerformed
        // TODO add your handling code here:
        TrocaSenha trocaSenha = new TrocaSenha(new javax.swing.JFrame(), true);
    }//GEN-LAST:event_jMenu1ActionPerformed

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        // TODO add your handling code here:
        TrocaSenha trocaSenha = new TrocaSenha(new javax.swing.JFrame(), true);

    }//GEN-LAST:event_jMenuItem2ActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                Menu menu = new Menu();
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenu jMnCadastroBasico;
    private javax.swing.JMenu jMnControleAcesso;
    private javax.swing.JMenuItem jMnItClientes;
    private javax.swing.JMenuItem jMnItCores;
    private javax.swing.JMenuItem jMnItExtratoComissao;
    private javax.swing.JMenuItem jMnItFaturamentoPeriodo;
    private javax.swing.JMenuItem jMnItFichaCliente;
    private javax.swing.JMenuItem jMnItFuncoes;
    private javax.swing.JMenuItem jMnItMateriais;
    private javax.swing.JMenuItem jMnItModulos;
    private javax.swing.JMenuItem jMnItPedidos;
    private javax.swing.JMenuItem jMnItPedidosPendentes;
    private javax.swing.JMenuItem jMnItPerfis;
    private javax.swing.JMenuItem jMnItRanking;
    private javax.swing.JMenuItem jMnItUnidades;
    private javax.swing.JMenuItem jMnItUsuarios;
    private javax.swing.JMenuItem jMnItVendedores;
    private javax.swing.JMenu jMnOrcamentos;
    private javax.swing.JMenu jMnPedidos;
    private javax.swing.JMenu jMnRelatorios;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JPopupMenu.Separator jSeparator2;
    // End of variables declaration//GEN-END:variables
// variaveis e metodos globais do sistema
    public static final int OP_PESQ_NUL=0;
    public static final int OP_PESQ_INC=1;
    public static final int OP_PESQ_ALT=2;
    public static final int OP_PESQ_CON=3;
    public static String[] UF={"AC","AL","AP","AM","BA","CE","DF","ES","GO",
        "MA","MT","MS","MG","PA","PB","PR","PE","PI","RJ","RN","RS","RO","RR",
        "SC","SP","SE","TO"};
    public static Perfil estadoPerfil = null;
    public static Usuario estadoUsuario = null;
    public static boolean validaDataBranco(String data){
        if (data.equals("  /  /    ")) return true;
        else return validaData(data);
    }
    public static boolean validaData(String data){
        boolean retorno=true;
        if (data.length()!=10){
            retorno=false;
        } else {
          char c[] = data.toCharArray();
          for (int i = 0; i < 10; i++){
              if (i==2||i==5){
                  if (c[i]!='/') retorno = false;
              } else if (c[i]<'0'||c[i]>'9') retorno=false;
          }
        }
        if (retorno){
          String sdia = data.substring(0, 2);
          String smes = data.substring(3, 5);
          String sano = data.substring(6, 10);
          int dia = Integer.parseInt(sdia);
          int mes = Integer.parseInt(smes);
          int ano = Integer.parseInt(sano);
          int[] diasMeses={31,28,31,30,31,30,31,31,30,31,30,31};
          if (ano%4==0) diasMeses[1]=28;
          else diasMeses[1]=29;
          if (mes<1||mes>12) retorno=false;
          else if(dia < 1 || dia > diasMeses[mes - 1]) retorno = false;
        }
        return retorno;
    }
    public static String addData(String data, int dias){
        String sdia = data.substring(0, 2);
        String smes = data.substring(3, 5);
        String sano = data.substring(6, 10);
        int dia = Integer.parseInt(sdia)+dias;
        int mes = Integer.parseInt(smes);
        int ano = Integer.parseInt(sano);
        int[] diasMeses={31,28,31,30,31,30,31,31,30,31,30,31};
        if (ano%4==0) diasMeses[1]=28;
        else diasMeses[1]=29;
        while (dia>diasMeses[mes-1]){
            dia = dia - diasMeses[mes-1];
            mes++;
            if (mes > 12){
                mes = 1;
                ano++;
                if (ano%4==0) diasMeses[1]=28;
                else diasMeses[1]=29;
            }
        }
        sdia=String.valueOf(dia);
        if (sdia.length()<2)sdia="0"+sdia;
        smes=String.valueOf(mes);
        if (smes.length()<2)smes="0"+smes;
        sano=String.valueOf(ano);
        return sdia+"/"+smes+"/"+sano;
    }
    public static boolean validaDiaMes(String diaMes){
        boolean retorno=true;
        if (diaMes.length()!=5){
            retorno=false;
        } else {
          char c[] = diaMes.toCharArray();
          for (int i = 0; i < 5; i++){
              if (i==2){
                  if (c[i]!='/') retorno = false;
              } else if (c[i]<'0'||c[i]>'9') retorno=false;
          }
        }
        if (retorno){
          String sdia = diaMes.substring(0, 2);
          String smes = diaMes.substring(3, 5);
          int dia = Integer.parseInt(sdia);
          int mes = Integer.parseInt(smes);
          int[] diasMeses={31,28,31,30,31,30,31,31,30,31,30,31};
          if (mes<1||mes>12) retorno=false;
          else if(dia < 1 || dia > diasMeses[mes - 1]) retorno = false;
        }
        return retorno;
    }
    public static String convData(String data, int par){
        SimpleDateFormat formatoBarra = new SimpleDateFormat("dd/MM/yyyy");
        SimpleDateFormat formatoHifen = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date suaData;
        try {
            if (par == 0){
                suaData = formatoBarra.parse(data);
                data = formatoHifen.format(suaData );

            }
            else {
                suaData = formatoHifen.parse(data);
                data = formatoBarra.format(suaData );
            }
        } catch (ParseException ex) {
            data="";
        } finally {
            return data;
        }
    }
    // Removendo um caractere:
    public static String removeChar(String s, char c) {
        String r = "";
        for (int i = 0; i < s.length(); i ++) {
           if (s.charAt(i) != c) r += s.charAt(i);
        }
        return r;
    }

    public static boolean validaCpfCnpj(String valor){
        if (valor.length()>11)
            return validaCNPJ(valor);
        else return validaCpf(valor);
    }
    public static boolean validaCpf(String sCpf){
    int cpf[] = new int[11];
    int dv1=0, dv2=0;

//    sCpf = sCpf.replace(".", "");
//    sCpf = sCpf.replace("-", "");

    if (sCpf.length()!=11)
        return false;
    char c[] = sCpf.toCharArray();

    for(int i=0;i<11;i++){
        if ((c[i]<'0')||(c[i]>'9')) return false;
        cpf[i] = Integer.parseInt(sCpf.substring(i, i+1));
    }
    for(int i=0;i<9;i++)
           dv1 += cpf[i] * (i+1);
    cpf[9] = dv1 = dv1 % 11;
    for(int i=0;i<10;i++)
           dv2 += cpf[i] * i;
    cpf[10] = dv2 = dv2 % 11;
    if(dv1>9) cpf[9]=0;      if(dv2>9) cpf[10]=0;

    if(Integer.parseInt(sCpf.substring(9,10))!= cpf[9]||
            Integer.parseInt(sCpf.substring(10,11))!=cpf[10])
        return false;
    else
        return true;
}

  public static boolean validaCNPJ(String CNPJ) {
// considera-se erro CNPJ's formados por uma sequencia de numeros iguais
    if (CNPJ.equals("00000000000000") || CNPJ.equals("11111111111111") ||
        CNPJ.equals("22222222222222") || CNPJ.equals("33333333333333") ||
        CNPJ.equals("44444444444444") || CNPJ.equals("55555555555555") ||
        CNPJ.equals("66666666666666") || CNPJ.equals("77777777777777") ||
        CNPJ.equals("88888888888888") || CNPJ.equals("99999999999999") ||
       (CNPJ.length() != 14))
       return(false);

    char dig13, dig14;
    int sm, i, r, num, peso;

// "try" - protege o código para eventuais erros de conversao de tipo (int)
    try {
// Calculo do 1o. Digito Verificador
      sm = 0;
      peso = 2;
      for (i=11; i>=0; i--) {
// converte o i-ésimo caractere do CNPJ em um número:
// por exemplo, transforma o caractere '0' no inteiro 0
// (48 eh a posição de '0' na tabela ASCII)
        num = (int)(CNPJ.charAt(i) - 48);
        sm = sm + (num * peso);
        peso = peso + 1;
        if (peso == 10)
           peso = 2;
      }

      r = sm % 11;
      if ((r == 0) || (r == 1))
         dig13 = '0';
      else dig13 = (char)((11-r) + 48);

// Calculo do 2o. Digito Verificador
      sm = 0;
      peso = 2;
      for (i=12; i>=0; i--) {
        num = (int)(CNPJ.charAt(i)- 48);
        sm = sm + (num * peso);
        peso = peso + 1;
        if (peso == 10)
           peso = 2;
      }

      r = sm % 11;
      if ((r == 0) || (r == 1))
         dig14 = '0';
      else dig14 = (char)((11-r) + 48);

// Verifica se os dígitos calculados conferem com os dígitos informados.
      if ((dig13 == CNPJ.charAt(12)) && (dig14 == CNPJ.charAt(13)))
         return(true);
      else return(false);
    } catch (InputMismatchException erro) {
        return(false);
    }
  }



}
